(async () => {
  // 下载 对应的浏览器 driver, 并将对应的文件放到程序根目录中 //导入chrome浏览器 driver，不是npm安装驱动不需要导入chromedriver
  const { Builder, Browser } = require("selenium-webdriver");
  const browserWebdriverOption = require("selenium-webdriver/edge");

  // 获取 msedgedriver.exe 绝对路径
  // const path = require("node:path");
  // const msedgedriverPath = path.resolve(__dirname, "./web/msedgedriver.exe");
  const browserService = new browserWebdriverOption.ServiceBuilder("./web/msedgedriver.exe");
  const browserOption = new browserWebdriverOption.Options();
  // browserOption.setEdgeChromiumBinaryPath(msedgedriverPath); // 设置 Edge 浏览器为 Chromium 内核
  // 启动 浏览器，并设置无头模式等选项 (Chrome正受到自动测试软件的控制)
  // 两者都可以将 浏览器 的 webdriver 标识去除, enable-automation 更加强大
  browserOption.addArguments("--disable-blink-features=AutomationControlled"); // 仍旧显示 浏览器由自动测试软件进行控制
  browserOption.excludeSwitches(["enable-automation"]); // 取消 浏览器由自动测试软件进行控制, 本质上就是一个正常的浏览器

  const driver = await new Builder()
    .forBrowser(Browser.EDGE) // 使用 Edge 浏览器
    .setEdgeService(browserService)
    .setEdgeOptions(browserOption)
    .build();

  await driver.executeScript(
    "Object.defineProperties(navigator, { webdriver: { get: () => undefined } });"
  );
  await driver.executeScript(
    "delete navigator.__proto__.webdriver;"
  );
  await driver.get("edge://newtab/");

  // "https://bot.sannysoft.com/"
  await driver.get(
    "https://www.nhc.gov.cn/xcs/c100122/202507/bd7286f62fe3437a97b4a0230840722c.shtml"
  );

  await driver.manage().window();
  // .maximize(); //实现浏览器窗口最大化
})();
